⚠️ CRITERIOS OBLIGATORIOS
Los siguientes elementos son OBLIGATORIOS para aprobar la práctica:
- Aplicación desplegada y funcionando en PythonAnywhere
- Repositorio de GitHub con código completo
- Video de demostración con tu rostro visible
- Base de datos MySQL configurada y funcionando
- Panel de administración accesible
- CRUD completo demostrado en el video
🎯 SISTEMA DE CALIFICACIÓN
| Rango de Puntos |
Calificación |
Nivel |
Descripción |
| 90-100 |
A - Excelente |
Sobresaliente |
Cumple todos los requisitos y supera expectativas |
| 80-89 |
B - Muy Bueno |
Notable |
Cumple todos los requisitos satisfactoriamente |
| 70-79 |
C - Bueno |
Aprobado |
Cumple la mayoría de requisitos con calidad aceptable |
| 60-69 |
D - Suficiente |
Aprobado mínimo |
Cumple requisitos mínimos con deficiencias menores |
| 0-59 |
F - Insuficiente |
Reprobado |
No cumple con los requisitos mínimos |
📊 DESGLOSE DETALLADO DE PUNTOS
1. Configuración del Entorno (10 puntos)
| Instalación correcta de Python, Django y MySQL |
3 pts |
| Entorno virtual creado y correctamente activado |
3 pts |
| requirements.txt completo con todas las dependencias |
2 pts |
| Archivo .env configurado y protegido (.gitignore) |
2 pts |
2. Proyecto Django (15 puntos)
| Proyecto Django creado correctamente con manage.py |
3 pts |
| Estructura de directorios organizada y lógica |
3 pts |
| settings.py configurado apropiadamente (DB, static, media) |
4 pts |
| Separación de configuración desarrollo/producción |
3 pts |
| SECRET_KEY y DEBUG manejados desde .env |
2 pts |
3. Base de Datos MySQL (15 puntos)
| Base de datos MySQL creada con nombre correcto |
3 pts |
| Conexión Django-MySQL funcionando sin errores |
4 pts |
| Usuario con privilegios adecuados creado |
3 pts |
| Charset UTF-8 (utf8mb4) configurado |
2 pts |
| Pruebas de conexión exitosas (python manage.py check) |
3 pts |
4. Modelos de Datos (15 puntos)
| Modelo Autor con campos completos y validaciones |
3 pts |
| Modelo Libro con ForeignKey, ManyToMany y validators |
4 pts |
| Modelos Categoría y Editorial implementados |
3 pts |
| Modelo Préstamo con lógica de negocio |
2 pts |
| Métodos __str__ y @property implementados |
1 pt |
| Migraciones creadas y aplicadas exitosamente |
2 pts |
5. Vistas y URLs (10 puntos)
| Vista de inicio (index/home) funcional |
2 pts |
| Vistas de lista (libros, autores) con queryset optimizado |
2 pts |
| Vistas de detalle funcionando correctamente |
2 pts |
| Sistema de búsqueda/filtros operativo |
2 pts |
| URLs configuradas con nombres y namespaces |
2 pts |
6. Templates y Frontend (10 puntos)
| Template base con herencia correcta |
2 pts |
| Templates de lista y detalle creados |
3 pts |
| Bootstrap 5 integrado y responsive |
2 pts |
| CSS personalizado aplicado |
2 pts |
| JavaScript básico para interactividad |
1 pt |
7. Panel de Administración (5 puntos)
| Modelos registrados en admin.py |
2 pts |
| Personalización del admin (list_display, search, filters) |
2 pts |
| Superusuario creado y accesible |
1 pt |
8. Control de Versiones (10 puntos)
| Repositorio Git inicializado correctamente |
2 pts |
| .gitignore configurado (venv, .env, *.pyc, etc.) |
2 pts |
| Commits con mensajes descriptivos y frecuentes |
3 pts |
| Repositorio en GitHub accesible y completo |
2 pts |
| README.md completo con instrucciones |
1 pt |
9. Despliegue en PythonAnywhere (10 puntos)
| Aplicación desplegada y accesible públicamente |
4 pts |
| Base de datos MySQL en producción funcionando |
2 pts |
| Archivos estáticos (CSS, JS, imágenes) cargando |
2 pts |
| Configuración de producción (DEBUG=False, ALLOWED_HOSTS) |
2 pts |
10. Documentación y Buenas Prácticas (10 puntos)
| Código documentado con docstrings |
3 pts |
| Nombres de variables y funciones descriptivos |
2 pts |
| Código limpio y bien estructurado |
2 pts |
| Manejo básico de errores (try-except) |
2 pts |
| README con instrucciones claras de instalación |
1 pt |
✅ LISTA DE VERIFICACIÓN PARA EVALUADOR
- URL de GitHub válida y repositorio accesible
- URL de PythonAnywhere funcional sin errores 500/404
- Video de demostración con rostro visible del estudiante
- CRUD completo demostrado (Create, Read, Update, Delete)
- Sistema de autenticación funcionando (login/logout admin)
- Base de datos con datos de prueba suficientes
- Navegación entre páginas sin errores
- Diseño responsive (probado en diferentes tamaños)
- Búsqueda y filtros operativos
- Archivos estáticos cargando correctamente
❌ CAUSAS DE REPROBACIÓN AUTOMÁTICA
- No presentar video de demostración
- Aplicación no desplegada o inaccesible
- Código copiado sin entender (plagio detectado)
- No aparece el rostro del estudiante en el video
- CRUD no funcional (errores críticos)
- Base de datos no configurada o sin datos
- Repositorio de GitHub vacío o incompleto
🎁 PUNTOS EXTRA (Hasta +40 puntos)
| Funcionalidad Extra |
Puntos |
Requisitos |
| API REST con Django REST Framework |
+10 |
Endpoints funcionales y documentados |
| Sistema de autenticación de usuarios |
+8 |
Login, register, logout completos |
| Pruebas unitarias (tests) |
+7 |
Mínimo 10 tests escritos |
| Paginación en listas |
+5 |
Implementada en todas las listas |
| Filtros avanzados |
+5 |
Por múltiples criterios |
| Diseño UI/UX excepcional |
+5 |
Diseño personalizado único |
📤 FORMATO DE ENTREGA
Enviar al profesor:
- Enlace de GitHub:
https://github.com/usuario/biblioteca-django-uth
- Enlace de PythonAnywhere:
https://usuario.pythonanywhere.com
- Enlace de Video: Google Drive con permisos públicos
- Credenciales Admin: Usuario y contraseña del superusuario (mensaje privado)
- Documento Resumen (opcional): PDF con capturas de pantalla